<script type="text/html" data-help-name="e-mail">
    <p>Sends the <code>msg.payload</code> as an email, with a subject of <code>msg.topic</code>.</p>
    <p>The default message recipient can be configured in the node, if it is left
    blank it should be set using the <code>msg.to</code> property of the incoming message. If left blank
    you can also specify any or all of: <code>msg.cc</code>, <code>msg.bcc</code>, <code>msg.replyTo</code>,
    <code>msg.inReplyTo</code>, <code>msg.references</code>, <code>msg.headers</code>, or <code>msg.priority</code> properties.</p>
    <p>You may optionally set <code>msg.from</code> in the payload which will override the <code>userid</code>
    default value.</p>
    <h3>Gmail users</h3>
    <p>If you are accessing Gmail you may need to either enable <a target="_new" href="https://support.google.com/mail/answer/185833?hl=en">an application password</a>,
    or enable <a target="_new" href="https://support.google.com/accounts/answer/6010255?hl=en">less secure access</a> via your Google account settings.</p>
    <h3>Details</h3>
    <p>The payload can be html format. You may supply a separate plaintext version using <code>msg.plaintext</code>.
    If you don't and <code>msg.payload</code> contains html, it will also be used for the plaintext.
    <code>msg.plaintext</code> will be ignored if <code>msg.payload</code> doesn't contain html.</p>
    <p>If the payload is a binary buffer then it will be converted to an attachment.
    The filename should be set using <code>msg.filename</code>. Optionally <code>msg.description</code> can be added for the body text.</p>
    <p>Alternatively you may provide <code>msg.attachments</code> which should contain an array of one or
    more attachments in <a href="https://nodemailer.com/message/attachments/" target="_new">nodemailer</a> format.</p>
    <p>If required by your recipient you may also pass in a <code>msg.envelope</code> object, typically containing extra from and to properties.</p>
    <p>If you have own signed certificates, Nodemailer can complain about that and refuse sending the message. In this case you can try switching off TLS.</p>
    <p><b>Note</b>: uses SMTP with SSL to port 465.</p>
</script>

<script type="text/html" data-help-name="e-mail in">
    <p>Repeatedly gets emails from a POP3 or IMAP server and forwards on as a msg if not already seen.</p>
    <p>The subject is loaded into <code>msg.topic</code> and <code>msg.payload</code> is the plain text body.
       If there is text/html then that is returned in <code>msg.html</code>. <code>msg.from</code> and <code>msg.date</code> are also set if you need them.</p>
    <p>Additionally <code>msg.header</code> contains the complete header object including
    <i>to</i>, <i>cc</i> and other potentially useful properties.</p>
    <p>It can optionally mark the message as Read (default), Delete it, or leave unmarked (None).</p>
    <p>Uses the <a href="https://github.com/mscdex/node-imap/blob/master/README.md" target="_new">node-imap module</a> - see that page for
        information on the <code>msg.criteria</code> format if needed.</p>
    <p>Any attachments supplied in the incoming email can be found in the <code>msg.attachments</code> property. This will be an array of objects where
    each object represents a specific attachments.  The format of the object is:</p>
<pre>
{
  contentType:        // The MIME content description
  fileName:           // A suggested file name associated with this attachment
  transferEncoding:   // How was the original email attachment encodded?
  contentDisposition: // Unknown
  generatedFileName:  // A suggested file name associated with this attachment
  contentId:          // A unique generated ID for this attachment
  checksum:           // A checksum against the data
  length:             // Size of data in bytes
  content:            // The actual content of the data contained in a Node.js Buffer object
                      // We can turn this into a base64 data string with content.toString('base64')
}
</pre>
<p><b>Note</b>: For POP3, the default port numbers are 110 for plain TCP and 995 for SSL.  For IMAP the port numbers are 143 for plain TCP and 993 for SSL.</p>
<p><b>Note</b>: With option 'STARTTLS' an established plain connection is upgraded to an encrypted one. Set to 'always' to always attempt connection upgrades via STARTTLS, 'required' only if upgrading is required, or 'never' to never attempt upgrading.</p>
<p><b>Note</b>: The maximum refresh interval is 2147483 seconds (24.8 days).</p>

</script>

<script type="text/html" data-help-name="e-mail mta">
    <p>Mail Transfer Agent - listens on a port for incoming SMTP mails.</p>
    <p><b>Note</b>: "NOT for production use" as there is no security built in.
    This is primarily for local testing of outbound mail sending, but could be used
    as a mail forwarder to a real email service if required.</p>
    <p>To use ports below 1024, for example 25 or 465, you may need to get privileged access.
    On linux systems this can be done by running
    <pre>sudo setcap 'cap_net_bind_service=+eip' $(which node)</pre>
    and restarting Node-RED. Be aware - this gives all node applications access to all ports.</p>
</script>